// import { Message } from 'element-ui'

// let websock = null
// let messageCallback = null
// let errorCallback = null
// let wsUrl = ''
// let tryTime = 0

// // 接收ws后端返回的数据
// function websocketonmessage(e) {
//   messageCallback(JSON.parse(e.data))
// }

// /**
//  * 发起websocket连接
//  * @param {Object} agentData 需要向后台传递的参数数据
//  */
// function websocketSend(agentData) {
//   // 加延迟是为了尽量让ws连接状态变为OPEN
//   setTimeout(() => {
//     // 添加状态判断，当为OPEN时，发送消息
//     if (websock.readyState === websock.OPEN) {
//       // websock.OPEN = 1
//       // 发给后端的数据需要字符串化
//       websock.send(JSON.stringify(agentData))
//     }
//     if (websock.readyState === websock.CLOSED) {
//       // websock.CLOSED = 3
//       console.log('websock.readyState=3')
//       Message.error('ws连接异常，请稍候重试')
//       errorCallback()
//     }
//   }, 500)
// }

// // 关闭ws连接
// function websocketclose(e) {
//   // e.code === 1000  表示正常关闭。 无论为何目的而创建, 该链接都已成功完成任务。
//   // e.code !== 1000  表示非正常关闭。
//   if (e && e.code !== 1000) {
//     Message.error('ws连接异常，请稍候重试')
//     errorCallback()
//     // // 如果需要设置异常重连则可替换为下面的代码，自行进行测试
//     // if (tryTime < 10) {
//     //   setTimeout(function() {
//     //    websock = null
//     //    tryTime++
//     //    initWebSocket()
//     //    console.log(`第${tryTime}次重连`)
//     //  }, 3 * 1000)
//     //} else {
//     //  Message.error('重连失败！请稍后重试')
//     //}
//   }
// }
// // 建立ws连接
// function websocketOpen(e) {
//   // console.log('ws连接成功')
// }

// // 初始化weosocket
// function initWebSocket() {
//   if (typeof WebSocket === 'undefined') {
//     Message.error('您的浏览器不支持WebSocket，无法获取数据')
//     return false
//   }

//   // ws请求完整地址
//   const requstWsUrl = wsUrl
//   websock = new WebSocket(requstWsUrl)

//   websock.onmessage = function(e) {
//     websocketonmessage(e)
//   }
//   websock.onopen = function() {
//     websocketOpen()
//   }
//   websock.onerror = function() {
//     Message.error('ws连接异常，请稍候重试')
//     errorCallback()
//   }
//   websock.onclose = function(e) {
//     websocketclose(e)
//   }
// }

// /**
//  * 发起websocket请求函数
//  * @param {string} url ws连接地址
//  * @param {Object} agentData 传给后台的参数
//  * @param {function} successCallback 接收到ws数据，对数据进行处理的回调函数
//  * @param {function} errCallback ws连接错误的回调函数
//  */
// export function sendWebsocket(url, agentData, successCallback, errCallback) {
//   wsUrl = url
//   initWebSocket()
//   messageCallback = successCallback
//   errorCallback = errCallback
//   websocketSend(agentData)
// }

// /**
//  * 关闭websocket函数
//  */
// export function closeWebsocket() {
//   if (websock) {
//     websock.close() // 关闭websocket
//     websock.onclose() // 关闭websocket
//   }
// }
